gdk: Do final copy with OPERATOR_SOURCE in end_implicit_paint
authorBenjamin Otte <otte@redhat.com>
Fri, 13 Aug 2010 18:46:12 +0000 (20:46 +0200)
committerBenjamin Otte <otte@redhat.com>
Fri, 13 Aug 2010 18:48:36 +0000 (20:48 +0200)
For windows with alpha channel, the previous contents would otherwise
not be erased. Visible for example in the status icon code.

Thanks to Thomas Wood for noticing.

gdk/gdkwindow.c

index 320118472b75e3966fc90a8ae6a03debe412e060..e8e3723b010bed97f0f7300df7718a7291a26067 100644 (file)
@@ -2833,6 +2833,7 @@ gdk_window_end_implicit_paint (GdkWindow *window)
       cr = gdk_cairo_create (private->impl);
       gdk_cairo_set_source_pixmap (cr, paint->pixmap,
                                    paint->x_offset, paint->y_offset);
+      cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
       gdk_cairo_region (cr, paint->region);
       cairo_fill (cr);
       cairo_destroy (cr);